#ifndef PROJ_DATA_INTERFACE_H
#define PROJ_DATA_INTERFACE_H

#define BITS_PER_BYTE 8

#include <iostream>

using namespace std;

#define BLOCK_SIZE 100
#define ASCII_MAXSIZE 256
#define ENCODING_OPTION 0
#define DECODING_OPTION 1

using byte_t = unsigned char;

const int INF = 0x3f3f3f3f;

struct Node
{
    byte_t data;
    int val;
    Node *lc;
    Node *rc;

    explicit
    Node(byte_t data = 0,
         int val = 0,
         Node *lc = nullptr,
         Node *rc = nullptr)
            : data(data), val(val), lc(lc), rc(rc)
    {}
};

#endif //PROJ_DATA_INTERFACE_H
